-
Notifications
You must be signed in to change notification settings - Fork 0
chore: scaffold project template with tooling and CI #3
Conversation
f2769fa to
f2c7439
Compare
Set up the starting template for the group: - Vite + React + TypeScript, TanStack Query wired in main.tsx - ESLint 9 flat config (typescript-eslint, react-hooks, react-refresh, jsx-a11y, eslint-config-prettier) and Prettier - Vitest + React Testing Library + jsdom with placeholder App tests - GitHub Actions CI: format, lint, test, build on every PR - AGENTS.md with contributor and AI-agent conventions - README with project, scripts, workflow, and label documentation
GitHub Projects is disabled on git.ntnu.no, so the roadmap lives in the repo: milestone due dates, current status, workflow, and delivery checklist. Linked from README.
f2c7439 to
3d39e85
Compare
The NTNU GHES instance has no shared runners, so CI runs on a self-hosted runner on the group VM (#6): runs-on [self-hosted, linux, x64], setup guide in docs/ci-runner.md.
- vite base '/project1' so the build serves from the course-required path - docs/deployment.md: Apache setup, deploy flows, pitfalls, final URL - docs/ci-runner.md: VM hostname and network/VPN note - ROADMAP links the deployment guide
Pipeline: format/lint/test/build on every PR; pushes to main additionally rsync the built dist/ to /var/www/html/project1 on the group VM runner (sudoers entry grants NOPASSWD rsync to the runner user, see docs/ci-runner.md).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good from my side, format/lint/test/build all pass locally! I only noticed two small things in the README:
- The conventional commit example uses #11 for a favorites feature, but #11 is now the BookCard issue. Maybe use a generic example or the correct issue number?
- The README says that all OpenLibrary API requests are mocked with MSW, but as far as I can tell, MSW is currently installed but the handlers/server setup is not part of this PR yet. Maybe phrase this as planned behavior until the API test setup is in place?
|
Thanks for the review, Rachel! Both points fixed in
Re-requesting your review since the push (approval is dismissed on new commits per repo rules). The two remaining external blockers are unchanged: repo admin for the runner (Trond's grant hasn't propagated yet — team still shows |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for fixing both points! The changes look good to me.
Summary
Initial project scaffold for Project 1:
Follow-up work
This PR intentionally provides the baseline only. The remaining setup work is tracked separately:
The CI decision remains tracked in #2. Self-hosted runner setup is tracked in #6 while the group checks available server access.
Validation
npm run format:checknpm run lintnpm testnpm run buildChecklist